package com.springboot.study.consumer;// 定义包名，表示这是 consumer 层，通常用于消息消费相关的类
import com.springboot.study.config.SimpleQueueConfig;// 导入自定义的队列配置类 SimpleQueueConfig，用于获取队列名称
import org.springframework.amqp.rabbit.annotation.RabbitListener;// 导入 @RabbitListener 注解，用于监听 RabbitMQ 队列消息
import org.springframework.amqp.core.Message;// 导入 RabbitMQ 的 Message 类，用于接收消息对象
import org.springframework.stereotype.Component;// 导入 Spring 注解 @Component，将类注册为 Spring Bean
@Component// 标注这是一个组件类，Spring 会自动扫描并注入到容器中
public class SimpleConsumer {
    @RabbitListener(queues = SimpleQueueConfig.SIMPLE_QUEUE)
    // 标注该方法为 RabbitMQ 消息监听方法
    // queues 参数指定监听的队列，这里使用 SimpleQueueConfig 配置的队列名称
    public void receiveMessage(Message message) {
        // 定义接收消息的方法，参数为 RabbitMQ 的 Message 对象
        // 当队列有新消息时，会自动调用此方法
        // 手动确认模式下可以使用 Channel 来 ack 消息，这里用最简单方式直接打印
        String msg = new String(message.getBody());
        // 将消息体转换为字符串
        // message.getBody() 返回 byte[]，需要转换成 String 才能打印
        System.out.println("接收到消息：" + msg);
        // 在控制台打印接收到的消息
    }
}
